package net.qhzw.geologr5.gis.service.system.service;

import net.qhzw.geologr5.gis.common.framework.utils.JsonResult;
import net.qhzw.geologr5.gis.service.system.query.ProjectPointQuery;
import net.qhzw.geologr5.gis.service.system.vo.project.Point;
import net.qhzw.geologr5.gis.service.system.vo.project.PointDrillingInfoVo;
import net.qhzw.geologr5.gis.service.system.vo.project.PointProbeInfo;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public interface ProjectPointService {


    /***
     * 项目点位 新增修改
     * @param point
     * @param drillingInfoVo
     * @param probeInfo
     * @return
     */
    JsonResult create(Point point, PointDrillingInfoVo drillingInfoVo,
                      PointProbeInfo probeInfo);

    /***
     * 删除点位
     * @param ids
     * @return
     */
    JsonResult delete(String[] ids);


    /***
     * 查询点位信息
     * @return
     */
    JsonResult find(ProjectPointQuery query);


    /***
     * 项目点位图片下载
     * @param id
     * @return
     */
    JsonResult download(String id);


    /***
     * 点位信息
     * @param query
     * @return
     */
    JsonResult pointInfo(ProjectPointQuery query);


    /***
     * 下载点位模板
     * @param param
     * @return
     */
    JsonResult downloadTmpl(String param, HttpServletResponse response);


    /***
     * 导入点位模板
     * @param type
     * @param file
     * @return
     */
    JsonResult impexp(Integer projectId, String type, MultipartFile file);

    /***
     * 上传点位文件
     * @param id
     * @param file
     * @return
     */
    JsonResult uploadFile(String id, MultipartFile file);
}
